﻿Imports DevExpress.XtraEditors.Controls
Imports Control_Vuelos_BE
Imports Control_Vuelos_BL
Public Class frmAdm_ManifiestoDatos
    Public p_CodViaje As String
    Private ReadOnly _M_Maestro As New MaestrosBL()
    Private _CManifiestoBE As New C_ManifiestoBE
    Private ReadOnly _Manifiesto As New ManifiestoBL()

    Private Sub frmAdm_ManifiestoDatos_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        _CManifiestoBE = _Manifiesto.pr_RecuperarCabecera(p_CodViaje)

        ModManifiesto_MasDatos1.cbDesOrigen.Properties.DataSource = _M_Maestro.pr_GetLugarOrigenVuelo(p_coduser)
        ModManifiesto_MasDatos1.cbDesOrigen.Properties.DisplayMember = "NomLugar"
        ModManifiesto_MasDatos1.cbDesOrigen.Properties.ValueMember = "CodLugar"
        ModManifiesto_MasDatos1.cbDesDestino.Properties.DataSource = _M_Maestro.pr_GetLugarDestinoVuelo()
        ModManifiesto_MasDatos1.cbDesDestino.Properties.DisplayMember = "NomLugar"
        ModManifiesto_MasDatos1.cbDesDestino.Properties.ValueMember = "CodLugar"
        ModManifiesto_MasDatos1.cbNomEmpresa.Properties.DataSource = _M_Maestro.pr_GetAerolinea()
        ModManifiesto_MasDatos1.cbNomEmpresa.Properties.DisplayMember = "NomEmpresa"
        ModManifiesto_MasDatos1.cbNomEmpresa.Properties.ValueMember = "CodEmpresa"

        ModManifiesto_MasDatos1.cboAeropuerto.Properties.DataSource = _M_Maestro.pr_GetAeropuerto(_CManifiestoBE.CodLugarOrigen)
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.DisplayMember = "nomAeropuerto"
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.ValueMember = "nroCorrelativo"
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.Columns.Add(New DevExpress.XtraEditors.Controls.LookUpColumnInfo("nroCorrelativo", 30, "Código"))
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.Columns.Add(New DevExpress.XtraEditors.Controls.LookUpColumnInfo("nomAeropuerto", 100, "Descripción"))
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.BestFit()
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.PopupWidth = 300
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.SearchMode = SearchMode.AutoComplete
        ModManifiesto_MasDatos1.cboAeropuerto.Properties.AutoSearchColumnIndex = 1

        ModManifiesto_MasDatos1.cboContacto.Properties.DataSource = _M_Maestro.pr_GetResponsableVuelo(_CManifiestoBE.CodLugarOrigen)
        ModManifiesto_MasDatos1.cboContacto.Properties.DisplayMember = "nomResponsable"
        ModManifiesto_MasDatos1.cboContacto.Properties.ValueMember = "nroCorrelativo"
        ModManifiesto_MasDatos1.cboContacto.Properties.Columns.Add(New DevExpress.XtraEditors.Controls.LookUpColumnInfo("nroCorrelativo", 30, "Código"))
        ModManifiesto_MasDatos1.cboContacto.Properties.Columns.Add(New DevExpress.XtraEditors.Controls.LookUpColumnInfo("nomResponsable", 100, "Descripción"))
        ModManifiesto_MasDatos1.cboContacto.Properties.BestFit()
        ModManifiesto_MasDatos1.cboContacto.Properties.PopupWidth = 300
        ModManifiesto_MasDatos1.cboContacto.Properties.SearchMode = SearchMode.AutoComplete
        ModManifiesto_MasDatos1.cboContacto.Properties.AutoSearchColumnIndex = 1

        ModManifiesto_MasDatos1.gCodViaje.EditValue = _CManifiestoBE.CodViaje
        ModManifiesto_MasDatos1.cbDesOrigen.EditValue = _CManifiestoBE.CodLugarOrigen
        ModManifiesto_MasDatos1.cbDesDestino.EditValue = _CManifiestoBE.CodLugarDestino
        ModManifiesto_MasDatos1.cbNomEmpresa.EditValue = _CManifiestoBE.CodEmpresa
        ModManifiesto_MasDatos1.gfchViaje.EditValue = _CManifiestoBE.FchViaje
        ModManifiesto_MasDatos1.gHraViaje.Time = _CManifiestoBE.FchViaje
        ModManifiesto_MasDatos1.cboAeropuerto.EditValue = _CManifiestoBE.CodAeropuerto
        ModManifiesto_MasDatos1.cboContacto.EditValue = _CManifiestoBE.CodResponsable
        ModManifiesto_MasDatos1.gObsCabecera.EditValue = _CManifiestoBE.ObsCabecera
        ModManifiesto_MasDatos1.gObsCabeceraManifiesto.EditValue = _CManifiestoBE.ObsCabeceraManifiesto
        ModManifiesto_MasDatos1.chkFlgValija.EditValue = _CManifiestoBE.FlgValija

        Dim oProgViaje As New ProgramaViajeBL
        Dim oRstPViaje As New V_ProgramaViajeBE
        oRstPViaje = oProgViaje.pr_TraerProgramaViaje(_CManifiestoBE.CodViaje)

        Dim oTipoVuelo As New M_TipoVueloBL
        Dim oRstTVuelo As New M_TipoVueloVE
        oRstTVuelo = oTipoVuelo.pr_Get_TipoVuelo(oRstPViaje.CodTipoVuelo)

        ModManifiesto_MasDatos1.cboNomTipo.EditValue = oRstTVuelo.NomTipo
        ModManifiesto_MasDatos1.gHraViaje.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime
        ModManifiesto_MasDatos1.gHraViaje.Properties.Mask.EditMask = "HH:mm"
        ModManifiesto_MasDatos1.gHraViaje.Properties.Mask.UseMaskAsDisplayFormat = True

        AddHandler ModManifiesto_MasDatos1.gfchViaje.EditValueChanged, AddressOf prl_SetValueDateTime
        AddHandler ModManifiesto_MasDatos1.gHraViaje.EditValueChanged, AddressOf prl_SetValueTimeDate
        ModManifiesto_MasDatos1.gObsCabecera.Focus()
    End Sub

    Private Sub prl_SetValueDateTime()
        ModManifiesto_MasDatos1.gHraViaje.Time = ModManifiesto_MasDatos1.gfchViaje.EditValue
    End Sub

    Private Sub prl_SetValueTimeDate()
        ModManifiesto_MasDatos1.gfchViaje.EditValue = ModManifiesto_MasDatos1.gHraViaje.EditValue
    End Sub

    Private Sub cmdaceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdaceptar.Click
        If ModManifiesto_MasDatos1.DxValidationProvider1.Validate Then
            Dim _C_ManifiestoBE As New C_ManifiestoBE() With {.CodLugarOrigen = ModManifiesto_MasDatos1.cbDesOrigen.EditValue, .CodLugarDestino = ModManifiesto_MasDatos1.cbDesDestino.EditValue, .CodEmpresa = ModManifiesto_MasDatos1.cbNomEmpresa.EditValue, .FchViaje = ModManifiesto_MasDatos1.gfchViaje.EditValue, .CodAeropuerto = ModManifiesto_MasDatos1.cboAeropuerto.EditValue, .CodResponsable = ModManifiesto_MasDatos1.cboContacto.EditValue, .ObsCabecera = ModManifiesto_MasDatos1.gObsCabecera.EditValue, .ObsCabeceraManifiesto = ModManifiesto_MasDatos1.gObsCabeceraManifiesto.EditValue, .FlgValija = ModManifiesto_MasDatos1.chkFlgValija.EditValue, .CodViaje = ModManifiesto_MasDatos1.gCodViaje.EditValue, .CodModificadopor = p_coduser, .FchModificado = DateTime.Now}
            If Not _Manifiesto.pr_ActualizarCabecera(_C_ManifiestoBE) Then
                MsgBox(" Error al Actualizar Cabecera Manifiesto ", MsgBoxStyle.Critical, Text)
            Else
                Close()
            End If
        End If
    End Sub
End Class